package map;

import java.util.*;

public class MapDemo2 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("语文",10);
        map.put("数学",20);
        map.put("英语",30);
        map.put("化学",40);
        map.put("物理",50);
        System.out.println(map);
        /*
         遍历所有的key
         set keySet（）
         将当前Map中所有的key以一个Set集合形式返回
         */
        Set<String> keySet = map.keySet();
        for (String str : keySet){
            System.out.println("key:"+str);
        }
        /*
         Set entrySet()
         */
        Set<Map.Entry<String,Integer>> entrySet = map.entrySet();
        for (Map.Entry<String,Integer> it : entrySet){
            String key = it.getKey();
            Integer value = it.getValue();
            System.out.println(key+":"+value);
        }
        /*
        Collection values()
        将当前Map中所有的value以一个集合形式返回
         */
        Collection<Integer> c = map.values();
        for (Integer value : c){
            System.out.println("value:"+value);
        }

        /*
         JDK8以后遍历集合和map时可以使用forEach方法利用lambda表达式进行遍历
         */
        map.forEach(
                (k,v)-> System.out.println(k+":"+v)
        );
        // forEach 好用
        Collection<String> o = new ArrayList<>();
        o.forEach(
                (e)-> System.out.println(e)
        );



    }
}
